package io.geekidea.boot.jieanbo.service;

import com.baomidou.mybatisplus.extension.service.IService;
import io.geekidea.boot.framework.page.Paging;
import io.geekidea.boot.jieanbo.dto.AiSetDto;
import io.geekidea.boot.jieanbo.entity.AiSet;
import io.geekidea.boot.jieanbo.query.AiSetQuery;
import io.geekidea.boot.jieanbo.vo.AiSetVo;
import io.geekidea.boot.jieanbo.query.AppAiSetQuery;
import io.geekidea.boot.jieanbo.vo.AppAiSetVo;


/**
 * AI设置表 服务接口
 *
 * @author geekidea
 * @since 2025-06-04
 */
public interface AiSetService extends IService<AiSet> {

    /**
     * 添加AI设置表
     *
     * @param dto
     * @return
     * @throws Exception
     */
    boolean addAiSet(AiSetDto dto);

    /**
     * 修改AI设置表
     *
     * @param dto
     * @return
     * @throws Exception
     */
    boolean updateAiSet(AiSetDto dto);

    /**
     * 删除AI设置表
     *
     * @param id
     * @return
     * @throws Exception
     */
    boolean deleteAiSet(Integer id);

    /**
     * AI设置表详情
     *
     * @param id
     * @return
     * @throws Exception
     */
    AiSetVo getAiSetById(Integer id);

    /**
     * AI设置表分页列表
     *
     * @param query
     * @return
     * @throws Exception
     */
    Paging<AiSetVo> getAiSetPage(AiSetQuery query);

    /**
     * AppAI设置表详情
     *
     * @param id
     * @return
     * @throws Exception
     */
    AppAiSetVo getAppAiSetById(Integer id);

    /**
     * AppAI设置表分页列表
     *
     * @param query
     * @return
     * @throws Exception
     */
    Paging<AppAiSetVo> getAppAiSetPage(AppAiSetQuery query);

    /**
     * 获取单条AI设置数据
     * @return AiSetVo
     */
    AiSetVo getOneAiSet();

}
